package org.example.onlinejudge.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * 登录控制器
 * 负责处理用户登录相关的请求和响应
 * 实现逻辑：
 * 1. 提供登录页面，处理登录参数（错误提示、登出提示、注册成功提示）
 * 2. 根据注册成功的角色代码显示不同的成功消息（教师/学生）
 * 3. 提供系统首页的访问入口
 */
@Controller
public class LoginController {

    @GetMapping("/login")
    public String login(@RequestParam(value = "error", required = false) String error,
                       @RequestParam(value = "logout", required = false) String logout,
                       @RequestParam(value = "register", required = false) String register,
                       @RequestParam(value = "roleCode", required = false) String roleCode,
                       Model model) {
        if (error != null) {
            model.addAttribute("error", "用户名或密码错误");
        }
        if (logout != null) {
            model.addAttribute("message", "您已成功退出登录");
        }
        if (register != null && register.equals("success")) {
            if (roleCode != null && !roleCode.isEmpty()) {
                String roleName = roleCode.equals("1") ? "教师" : "学生";
                model.addAttribute("message", "恭喜！" + roleName + "账号注册成功，请登录");
            } else {
                model.addAttribute("message", "注册成功！请登录");
            }
        }
        return "login";
    }

    @GetMapping("/index")
    public String index() {
        return "index";
    }
}
